﻿#include<iostream>
#include<string>

//int main(int argc, char* argv[])
//{
//	string a = "hello world";
//	string b = a;
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else 
//		cout << "false" << endl;
//	string c = b;
//	c = "";
//	if (a.c_str() == b.c_str())
//	{
//
//		cout << "true" << endl;
//	}
//	else 
//		cout << "false" << endl;
//	a = "";
//	if (a.c_str() == b.c_str())
//	{
//		cout << "true" << endl;
//	}
//	else 
//		cout << "false" << endl;
//	return 0;
//}
//﻿int main()
//{
//	string str("Hello Bit.");
//	str.reserve(111);
//	str.resize(5);
//	str.reserve(50);
//	cout << str.size() << ":" << str.capacity() << endl;
//	return 0;
//}
//

class Solution {
public:
    int myAtoi(string str) {
        int i = 0, flag = 1;
        long ret = 0;
        if (str[i] == ' ')
            i++;
        if (str[i] == '-')
            flag = -1;
        if (str[i] == '-' || str[i] == '+')
            i++;
        for (; i < str.size() && isdigit(str[i]); i++)
        {
            ret = 10 * ret + (str[i] - '0');
            if (ret >= INT_MAX && flag == 1)
                return INT_MAX;
            if (ret >= INT_MAX && flag == -1)
                return INT_MIN;
        }
        return ret * flag;
    }
};
